package com.qqtech.qquan.im.service;

import java.util.List;

import com.qqtech.core.frame.service.BaseService;
import com.qqtech.qquan.im.model.ImGroup;
import com.qqtech.qquan.im.model.ImGroupVo;
import com.qqtech.qquan.im.model.ImUserVo;

public interface ImGroupService extends BaseService<ImGroup> {

	/**
	 * 添加一个群组
	 * @param groupId
	 * @param groupName
	 * @param maxusers
	 * @param ownerId
	 * @return
	 */
	public Integer addImGroup(int groupId, String groupName, int maxusers, int ownerId);
	
	/**
	 * 添加一个群组,附上成员列表（不含群主）
	 * @param groupId
	 * @param groupName
	 * @param maxusers
	 * @param ownerId
	 * @param members
	 * @return
	 */
	public Integer addImGroupAndMember(int groupId, String groupName, int maxusers, int ownerId, List<Integer> members);
	
	/**
	 * 删除一个群组
	 * @param groupId
	 * @return
	 */
	public Integer deleteGroup(int groupId);

	/**
	 * 添加群组成员（一个）
	 * @param groupId
	 * @param userid
	 * @return
	 */
	public Integer addGroupMember(int groupId, int memberId);
	
	/**
	 * 删除群组的一个成员
	 * @param groupId
	 * @param userid
	 * @return
	 */
	public Integer deleteGroupMember(int groupId, int memberId);

	/**
	 * 查询一个群组的成员
	 * @param groupId
	 * @return
	 */
	public List<ImUserVo> getImGroupsMembers(int groupId);
	
	/**
	 * 根据groupId查询一个群组信息
	 * @param groupId
	 * @return
	 */
	public ImGroupVo getByGroupId(Integer groupId);
	
	/**
	 *  根据imGroupId查询一个群组信息
	 * @param imGroupId
	 * @return
	 */
	public ImGroupVo getByImGroupId(String imGroupId);
	

}